package com.nuanshui.heatedloan.baseservice.dal.mapper;

import com.nuanshui.heatedloan.baseservice.form.MediaForm;
import com.nuanshui.heatedloan.baseservice.vo.MediaVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;



public interface MediaMapper {
	
	/**
	 * 保存 media 文本
	 * @param @param mediaForm
	 * @author guohao
	 * @date 2016年11月18日 下午2:51:48
	 * @since $
	 */
    void insertMediaText(MediaForm mediaForm);
	
	/**
	 * 保存 media  图片
	 * @param @param mediaForm
	 * @author guohao
	 * @date 2016年11月18日 下午2:53:07
	 * @since $
	 */
    void insertMediaImage(MediaForm mediaForm);
    
    /**
     * 保存 media video
     * @param @param mediaForm
     * @author guohao
     * @date 2016年11月18日 下午2:53:20
     * @since $
     */
    void insertMediaVideo(MediaForm mediaForm);
    
    /**
     * 保存 media voice
     * @param @param mediaForm
     * @author guohao
     * @date 2016年11月18日 下午2:53:45
     * @since $
     */
    void insertMediaVoice(MediaForm mediaForm);
    
    /**
     *  保存 media html
     * @param @param mediaForm
     * @author guohao
     * @date 2016年11月18日 下午2:53:52
     * @since $
     */
    void insertMediaHtml(MediaForm mediaForm);

    /**
     * 获取视频
     * @param @param bizId
     * @param @param bizType
     * @param @return
     * @author guohao
     * @date 2016年11月18日 下午3:37:37
     * @since $
     */
    List<MediaVO> loadVideoByBizIdAndBizType(@Param("bizId") String bizId, @Param("bizType") int bizType);

    /**
     * 获取文本
     * @param @param bizId
     * @param @param bizType
     * @param @return
     * @author guohao
     * @date 2016年11月18日 下午3:37:37
     * @since $
     */
    List<MediaVO> loadTextByBizIdAndBizType(@Param("bizId") String bizId, @Param("bizType") int bizType);

    /**
     * 获取图片
     * @param @param bizId
     * @param @param bizType
     * @param @return
     * @author guohao
     * @date 2016年11月18日 下午3:37:37
     * @since $
     */
    List<MediaVO> loadImageByBizIdAndBizType(@Param("bizId") String bizId, @Param("bizType") int bizType);

    /**
     * 获取音频
     * @param @param bizId
     * @param @param bizType
     * @param @return
     * @author guohao
     * @date 2016年11月18日 下午3:37:37
     * @since $
     */
    List<MediaVO> loadVoiceByBizIdAndBizType(@Param("bizId") String bizId, @Param("bizType") int bizType);

    /**
     * 获取html
     * @param @param bizId
     * @param @param bizType
     * @param @return
     * @author guohao
     * @date 2016年11月18日 下午3:37:37
     * @since $
     */
    List<MediaVO> loadHtmlByBizIdAndBizType(@Param("bizId") String bizId, @Param("bizType") int bizType);

	/**
	 * 置为存档
	 * @author Gonzo
	 * @date 2016年12月5日下午3:55:43
	 * @param mediaBizType
	 * @param mediaBizId
	 */
    void deleteMediaText(@Param("mediaBizType") int mediaBizType, @Param("mediaBizId") String mediaBizId);

	void deleteMediaVideo(@Param("mediaBizType") int mediaBizType, @Param("mediaBizId") String mediaBizId);

	void deleteMediaImage(@Param("mediaBizType") int mediaBizType, @Param("mediaBizId") String mediaBizId);

	void deleteMediaVoice(@Param("mediaBizType") int mediaBizType, @Param("mediaBizId") String mediaBizId);

	void deleteMediaHtml(@Param("mediaBizType") int mediaBizType, @Param("mediaBizId") String mediaBizId);

	/**
	 * 删除视频
	 * @param @param bizId
	 * @param @param bizType
	 * @author guohao
	 * @date 2016年11月18日 下午3:35:47
	 * @since $
	 */
	void deleteVideoByBizIdAndBizType(@Param("bizType") int bizType,@Param("bizId") String bizId);

	/**
	 * 删除图片
	 * @param @param bizId
	 * @param @param bizType
	 * @author guohao
	 * @date 2016年11月18日 下午3:35:47
	 * @since $
	 */
	void deleteImageByBizIdAndBizType(@Param("bizType") int bizType,@Param("bizId") String bizId);

	/**
	 * 删除图片
	 * @param @param bizId
	 * @param @param bizType
	 * @author guohao
	 * @date 2016年11月18日 下午3:35:47
	 * @since $
	 */
	void deleteTextByBizIdAndBizType(@Param("bizType") int bizType,@Param("bizId") String bizId);

	/**
	 * 删除音频
	 * @param @param bizId
	 * @param @param bizType
	 * @author guohao
	 * @date 2016年11月18日 下午3:35:47
	 * @since $
	 */
	void deleteVoiceByBizIdAndBizType(@Param("bizType") int bizType,@Param("bizId") String bizId);

	/**
	 * 删除html
	 * @param @param bizId
	 * @param @param bizType
	 * @author guohao
	 * @date 2016年11月18日 下午3:35:47
	 * @since $
	 */
	void deleteHtmlByBizIdAndBizType(@Param("bizType") int bizType,@Param("bizId") String bizId);

	void updateMediaTest(MediaVO vo);

	void updateMedia(MediaVO vo);

	/**
	 * 根据type，获取默认的一些Text的模板，用来创建初始化数据
	 * @author Gonzo
	 * @date 2016年12月21日下午4:58:20
	 * @param mediaBizType
	 * @return
	 * @since 1.0.0
	 */
    List<MediaForm> loadDefaultMediaTextByBizType(Integer mediaBizType);
	
}
